Method for detecting and analyzing site quality

ABSTRACT

A method and system for analyzing sites is described. A scanner module scans listings of an online publication. A quality engine analyzes the quality of the listings. A data collection module collects defective conditions of the listings determined by the quality engine. A report module reports the defective conditions of the listings. An auto correction module automatically corrects at least a first portion of the defective conditions of the listings. A manual correction module enables an operator of the online publication to correct at least a second portion of the defective conditions of the listings.

CLAIM OF PRIORITY

This Application is a Continuation of U.S. application Ser. No. 16/532,940, filed Aug. 6, 2020, which is a Continuation of U.S. application Ser. No. 16/139,336, filed Sep. 24, 2018, which is a Continuation of U.S. application Ser. No. 13/538,934, filed Jun. 29, 2012, each of which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

This application relates to a computer network system, in particular, to a method and system for detecting and analyzing website quality.

BACKGROUND

The World Wide Web available on the Internet provides a variety of specially formatted documents called web pages. The web pages are traditionally formatted in a language called HTML (HyperText Markup Language). Many web pages include links to other web pages which may reside in the same website or in a different website, and allow users to jump from one page to another simply by clicking on the links. The links use Universal Resource Locators (URLs) to jump to other web pages. URLs are the global addresses of web pages and other resources on the World Wide Web.

Hosted web pages include links that use URLs. However, as web technology evolves, websites have become more and more complex and human error is prone to cause defective web pages that include links that are no longer available. Manual correction of the broken links and other errors on the web pages would take an enormous amount of time.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which:

FIG. 1 is a network diagram depicting a network system, according to one embodiment, having a client-server architecture configured for exchanging data over a network;

FIG. 2 is a block diagram illustrating an example embodiment of a site quality analyzer;

FIG. 3 is a block diagram illustrating an example embodiment of a quality engine;

FIG. 4 is a block diagram illustrating an example of a bad conditions report module;

FIG. 5 is a block diagram illustrating an example of an auto correction module;

FIG. 6 is a flow chart of an example method for analyzing listing sites in an online publication;

FIG. 7 is a flow chart of an example method for detecting defects in listing sites in an online publication;

FIG. 8 is a flow chart of an example method for reporting defects in listing sites in an online publication; and

FIG. 9 shows a diagrammatic representation of a machine in the example form of a computer system within which a set of instructions may be executed to cause the machine to perform any one or more of the methodologies discussed herein.

DETAILED DESCRIPTION

Although the present invention has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the present disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

In various embodiments, a method and system for analyzing sites is described. A scanner module scans listings of an online publication. A quality engine analyzes the quality of the listings. A data collection module collects defective conditions of the listings determined by the quality engine. A report module reports the defective conditions of the listings. An auto correction module automatically corrects at least a first portion of the defective conditions of the listings. A manual correction module enables an operator of the online publication to correct at least a second portion of the defective conditions of the listings.

In one embodiment, a publication application generates the online publication comprising listings for an electronic commerce website.

In one embodiment, the quality engine analyzes the listings for defective links, defective images, defective formats, and policy violations of the online publication.

In one embodiment, the report module reports the defective conditions of the listings to the corresponding posting users of the online publication.

In one embodiment, the report module reports the defective conditions of the listings to an operator of the online publication.

In one embodiment, the auto correction module repairs links, images, and formats based on the defective conditions of the listings.

In one embodiment, the auto correction module deletes a listing that violates a policy of the online publication.

In one embodiment, a learning module of the auto correction module learns from the defective conditions of the listings collected by the data collection module.

The scanner module may continuously scan the sites and analyze the sites from a quality standpoint. Some of the things the scanner module detects & analyzes are broken links, images without alt text, descriptions containing external links, policy enforcement violations, broken images, and so forth. In addition, the site quality analyzer collects additional data pertinent to each of the ‘bad conditions’ in such a way that it is easily fixable by Quality Assurance (QA) and Engineering teams of the network-based publisher 102. An example is providing metadata (like text names for hyperlinks) for the broken links. In another embodiment, the crawl and analysis may be prioritized based on the frequency of the page usage. For example, pages or sites that are accessed the most frequently, are prioritized for the crawl and analysis.

FIG. 1 is a network diagram depicting a network system 100, according to one embodiment, having a client-server architecture configured for exchanging data over a network. For example, the network system 100 may be a network-based publisher 102 where clients may communicate and exchange data within the network system 100. The data may pertain to various functions (e.g., online item purchases) and aspects (e.g., managing content and user reputation values) associated with the network system 100 and its users. Although illustrated herein as a client-server architecture as an example, other embodiments may include other network architectures, such as a peer-to-peer or distributed network environment.

A data exchange platform, in an example form of a network-based publisher 102, may provide server-side functionality, via a network 104 (e.g., the Internet) to one or more clients. The one or more clients may include users that utilize the network system 100 and more specifically, the network-based publisher 102, to exchange data over the network 104. These transactions may include transmitting, receiving (communicating) and processing data to, from, and regarding content and users of the network system 100. The data may include, but are not limited to, product and service listings associated with buyers and sellers; content and user data such as feedback data; user reputation values; user profiles; user attributes; product and service reviews; product, service, manufacturer, and vendor recommendations and identifiers; auction bids; and transaction data, among other things.

In various embodiments, the data exchanges within the network system 100 may be dependent upon user-selected functions available through one or more client or user interfaces (UIs). The UIs may be associated with a client machine, such as a client machine 106 using a web client 110. The web client 110 may be in communication with the network-based publisher 102 via a web server 120. The UIs may also be associated with a client machine 108 using a programmatic client 112, such as a client application, or a third party server 114 hosting a third party application 116. It can be appreciated that, in various embodiments, the client machine 106, 108, or third party server 114 may be associated with a buyer, a seller, a third party electronic commerce platform, a payment service provider, or a shipping service provider, each in communication with the network-based publisher 102 and optionally each other. The buyers and sellers may be any one of individuals, merchants, or service providers, among other things.

Turning specifically to the network-based publisher 102, an application program interface (API) server 118 and a web server 120 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 122. The application servers 122 host one or more applications (a publication application 124 and a site quality analyzer 130). The application servers 122 are, in turn, shown to be coupled to one or more database server(s) 126 that facilitate access to one or more database(s) 128.

In one embodiment, the web server 120 and the API server 118 communicate and receive data pertaining to listings, transactions, and feedback, among other things, via various user input tools. For example, the web server 120 may send and receive data to and from a toolbar or webpage on a browser application (e.g., web client 110) operating on a client machine (e.g., client machine 106). The API server 118 may send and receive data to and from an application (e.g., programmatic client 112 or third party application 116) running on another client machine (e.g., client machine 108 or third party server 114).

The publication application 124 may provide a number of publisher functions and services (e.g., listing, payment, etc.) to users that access the network-based publisher 102. For example, the publication application 124 may provide a number of services and functions to users for listing goods and/or services for sale, facilitating transactions, and reviewing and providing feedback about transactions and associated users. Additionally, the publication application 124 may track and store data and metadata relating to financial transactions among users of the network-based publisher 102. In one embodiment, the listings of products and/or services may include links to external websites, links to media such as pictures and video. The listings may include media content such as photos, audio, and video. The listings may also include metadata associated with the content of the listing. For example, the listing may include key words associated with the content of a corresponding listing.

A third party application 116 may execute on a third party server 114 and may have programmatic access to the network-based publisher 102 via the programmatic interface provided by the API server 118. For example, the third party application 116 may use information retrieved from the network-based publisher 102 to support one or more features or functions on a website hosted by the third party. The third party website may, for example, provide one or more listing, feedback, publisher or payment functions that are supported by the relevant applications of the network-based publisher 102.

The site quality analyzer 130 analyzes listings posted with the publication application 124. In particular, the site quality analyzer 130 scans the listings for defects and can automatically correct some defects in the listings.

FIG. 2 is a block diagram illustrating an example embodiment of the site quality analyzer 130. The site quality analyzer 130 has a scanner module 202, a quality engine 204, a bad conditions data collection module 206, a bad conditions report module 208, an auto correction module 210, and a manual correction module 212.

The scanner module 202 scans listings from the online publication. In one embodiment, a web crawler crawls through the different layers of pages published by the publication application 124 to identify the different listings. For example, a listing may include elements such as the title of the listing, the name of an item to be sold, the asking price of the item, a description of the item, pictures of the items, videos of the item. In another embodiment, the scanner module 202 crawls through the listings for site quality (e.g., title, image, description match).

The quality engine 204 analyzes the quality of the listings. For example, the quality engine 204 checks on whether the links in the webpage or site of the listing are defective, whether links to images or other media are valid, whether links to external pages are valid, whether the title of the listing corresponds to the name of the item to be sold in the listing, whether the image displayed in the listing site does not correspond to the item listed, whether the product description is inaccurate, does not match with the listed item, or has typographical errors. Furthermore, in another embodiment, the quality engine 204 may analyze the site of the listing from a search engine optimization perspective to determine how healthy the site is, or whether the site of the listing complies with predefined best practices. Details of the quality engine 204 are described below with respect to FIG. 3.

The bad conditions data collection module 206 collects defective conditions of the listings as determined by the quality engine 204. The defective conditions data include, for example, listings with defective links, defective images, defective formats, and policy violations. The defective conditions data may be stored in a storage device for further analysis and in order to provide data to a learning module.

The bad conditions report module 208 reports the defective conditions of the listings to the corresponding posting users and/or an operator of the publication application 124. For example, the bad conditions report module 208 may notify a posting user of the listing that the title of the listing does not match or correspond to the item being listed. For example, a posting user may have labeled “CD player” as a title and listed and described a DVD player in the listing. In another embodiment, the bad conditions report module 208 may notify an operator of the publication application 124. For example, the operator may be notified if the listing violates a policy of the publication application 124. For example, the operator may be notified when a new listing includes an item for sale that is prohibited by the policy of the publication application 124. Details of the conditions report module 208 are described below with respect to FIG. 4.

The auto correction module 210 automatically corrects at least a first portion of the defective conditions of the listings. The manual correction module 212 enables an operator of the online publication to correct at least a second portion of the defective conditions of the listings. Details of the operation of auto correction module 210 are further described below with respect to FIG. 5.

In another embodiment, the auto correction module 210 is an offline module that works off the data downloaded from the defective web pages after the analysis is performed. A manuals correction may still be required by a web administrator who makes decision to remove defective web pages or listings (based on listing policies).

FIG. 3 is a block diagram illustrating an example embodiment of the quality engine 204 of FIG. 2. The quality engine 204 may include a defective links module 302, a defective images module 304, a defective formats module 306, and a policy violations module 308.

The defective links module 302 of the quality engine 204 checks whether links provided on the listing page are valid. For example, a crawler can click on all web links provided on the listing page one level at a time to determine their validity. In other words, the defective links module 302 identifies broken links located on the listing page.

The defective image module 304 of the quality engine 204 checks for broken images and whether the images on the listing page are valid. The source code of the listing page may include links to images external to the publication application 124. The links for the images may be outdated or defective.

The defective formats module 306 of the quality engine 204 checks for detective formatting of the listing. For example, the listing may include a defective header format or other types of defective data format.

The policy violations module 308 of the quality engine 204 checks for listings that violate a policy of the publication application 124.

In other embodiments, the quality engine 204 may also check for typographical and grammatical errors. The quality engine 204 may include additional modules to determine the level of quality of the site or page of the listing published by the publication application 124.

FIG. 4 is a block diagram illustrating an example of the bad conditions report module 208 of FIG. 2. The bad conditions report module 208 includes a listing poster notification module 402 and a listing owner notification module 404.

The listing poster notification module 402 notifies the poster of the listing of the defective listings. For example, the listing poster notification module 402 notifies the posting user of the listing for a DVD player for sale that the image link is broken. In one embodiment, the listing is unpublished or pending while the listing poster notification module 402 notifies the posting user of the defect.

The listing owner notification module 404 notifies an operator of the publication application 124 of the defective listings. The operator of the publication application 124 may be the owner of the publication application 124. For example, the listing owner notification module 404 notifies the operator that a listing violates a policy because it includes items forbidden by the publication application 124. In one embodiment, the listing is unpublished or pending while the listing owner notification module 404 notifies the operator of the publication application 124.

FIG. 5 is a block diagram illustrating an example of the auto correction module 210 of FIG. 2. The auto correction module 210 includes, for example, a repair links module 502, a repair images module 504, a repair formats module 506, a delete listing module 508, and a learning module 510.

The repair links module 502 automatically repairs defective links as identified by the defective links module 302 of the quality engine 204. In one embodiment, the repair links module 502 determines the correct link using the bad conditions data collected by bad conditions data collection module 206 and/or using the learning module 510.

The repair images module 504 automatically repairs defective or broken images as identified by the defective images module 304 of the quality engine 204. In one embodiment, the repair images module 504 determines the correct images using the bad conditions data collected by bad conditions data collection module 206 and/or using the learning module 510.

The repair formats module 506 automatically repairs defective formats from the listing as identified by the defective formats module 306 of the quality engine 204. In one embodiment, the repair formats module 506 determines the correct format using the bad conditions data collected by bad conditions data collection module 206 and/or using the learning module 510.

The delete listing module 508 of the auto correction module 210 automatically deletes listings that cannot be corrected automatically or listings that violate a policy of the publication application 124. In one embodiment, listings that are not corrected by the posting user within a predetermined amount of time may be deleted.

FIG. 6 is a flow chart 600 of an example method for analyzing listing sites in an online publication. At operation 602, the publication application 124 receives listings for publication.

At operation 604, the scanner module 202 scans for listings of an online publication.

At operation 606, the quality engine 204 analyzes the quality of the listings.

At operation 608, the report module 208 reports bad conditions of listings having defects.

At operation 610, the auto correction module 210 automatically corrects the bad conditions in the listings identified with defects, and the manual correction module 212 enables an operator of the online publication to correct at least a second portion of the defective conditions of the listings.

FIG. 7 is a flow chart 700 of an example method for detecting defects in listing sites in an online publication. At operation 702, the quality engine 204 analyzes the listings for defective links. At operation 704, the quality engine 204 analyzes the listings for defective images. At operation 706, the quality engine 204 analyzes the listings for defective formats. At operation 708, the quality engine 204 analyzes the listings for policy violations of the online publication.

FIG. 8 is a flow chart 800 of an example method for reporting defects in listing sites in an online publication. At operation 802, the bad conditions report module 208 reports defective conditions of the listings to the corresponding posting users of the online publication. At operation 804, the bad conditions report module 208 reports defective conditions of the listings to an operator of the online publication.

FIG. 9 shows a diagrammatic representation of machine in the example form of a computer system 900 within which a set of instructions may be executed causing the machine to perform any one or more of the methodologies discussed herein. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example computer system 900 includes a processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 904 and a static memory 906, which communicate with each other via a bus 908. The computer system 900 may further include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alphanumeric input device 912 (e.g., a keyboard), a user interface (UI) navigation device 914 (e.g., a mouse), a disk drive unit 916, a signal generation device 918 (e.g., a speaker) and a network interface device 920.

The disk drive unit 916 includes a machine-readable medium 922 on which is stored one or more sets of instructions and data structures (e.g., instructions 924) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 924 may also reside, completely or at least partially, within the main memory 904 and/or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting machine-readable media.

The instructions 924 may further be transmitted or received over a network 926 via the network interface device 920 utilizing any one of a number of well-known transfer protocols (e.g., HTTP).

While the machine-readable medium 922 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions 924. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions 924 for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions 924. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. § 1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. 

What is claimed is:
 1. A system comprising: one or more computer processors; one or more memories; and a set of instructions incorporated into the one or more memories, the set of instructions configuring the one or more computer processors to perform operations for automatically correcting listings of items posted on a network-based publication system, the operations comprising: collecting defective conditions data pertaining to the listings, the defective conditions data identifying at least one of a defective link, a defective image, or a defective format included in the listings; identifying a first portion of a first listing of the listings, the first portion defective based on the defective conditions; correcting the first portion of the first listing; identifying a second portion of the first listing, the second portion defective based on the defective conditions; detecting that the second portion is uncorrected after at least a predetermined amount of time; and deleting the uncorrected second portion of the first listing after expiration of the predetermined amount of time.
 2. The system of claim 1, further comprising: identifying a second listing of the listings, the second listing defective based on the defective conditions; and correcting the second listing.
 3. The system of claim 1, further comprising: identifying a second listing of the listings that is defective based on the defective conditions; detecting that the second listing is uncorrected for at least the predetermined amount of time; and deleting the uncorrected second listing after expiration of the predetermined amount of time.
 4. The system of claim 1, further comprising: analyzing a quality of the first listing posted on the network-based publication system, the analyzing comprising: determining whether a title of the first listing of an item for sale corresponds to a name of the item; and determining whether a description of the item in the first listing matches the name of the item and the title of the first listing.
 5. The system of claim 1, further comprising: determining that a title of the first listing of an item for sale does not correspond to a name of the item; correcting the title of the first listing based on the name of the item; determining that a description of the item in the first listing does not match the name of the item and the title of the first listing; detecting that the description of the item in the first listing is uncorrected for at least the predetermined amount of time; and deleting the description of the item in the first listing after expiration of the predetermined amount of time.
 6. The system of claim 1, further comprising: in response to identifying the second portion of the first listing, requesting a correction input; in response to requesting the correction input, detecting that no user input correcting the second portion has been received after at least a predetermined amount of time and detecting that the second portion is uncorrected after at least the predetermined amount of time; and deleting the second portion of the first listing after expiration of the predetermined amount of time.
 7. The system of claim 1, further comprising: in response to identifying the second portion of the first listing, requesting a correction input; in response to requesting the correction input, receiving a user input within the predetermined amount of time; and correcting the second portion of the first listing based on the user input.
 8. The system of claim 1, further comprising: in response to identifying the second portion of the first listing, requesting a correction input; in response to requesting the correction input, receiving a user input after the predetermined amount of time; and deleting the second portion of the first listing after expiration of the predetermined amount of time.
 9. The system of claim 1, wherein the correcting the first portion of the first listing includes using the defective conditions data and a learning module to identify a correct link, correct image, or correct format for repairing the first portion of the listing.
 10. The system of claim 9, further comprising: reporting defective conditions of the listings of the items posted on the network-based publication system based on the defective conditions data, wherein the second portion of the first listing is determined based on an inability of the learning module to automatically correct the second portion of the first listing.
 11. A computer-implemented method comprising: collecting defective conditions data pertaining to listings of items posted on a network-based publication system, the defective conditions data identifying at least one of a defective link, a defective image, or a defective format included in the listings; identifying a first portion of a first listing of the listings, the first portion defective based on the defective conditions; correcting the first portion of the first listing; identifying a second portion of the first listing, the second portion defective based on the defective conditions; detecting that the second portion is uncorrected after at least a predetermined amount of time; and deleting the uncorrected second portion of the first listing after expiration of the predetermined amount of time.
 12. The computer-implemented method of claim 11, further comprising: identifying a second listing of the listings, the second listing defective based on the defective conditions; and correcting the second listing.
 13. The computer-implemented method of claim 11, further comprising: identifying a second listing of the listings that is defective based on the defective conditions; detecting that the second listing is uncorrected for at least the predetermined amount of time; and deleting the uncorrected second listing after expiration of the predetermined amount of time.
 14. The computer-implemented method of claim 11, further comprising: analyzing a quality of the first listing posted on the network-based publication system, the analyzing comprising: determining whether a title of the first listing of an item for sale corresponds to a name of the item; and determining whether a description of the item in the first listing matches the name of the item and the title of the first listing.
 15. The computer-implemented method of claim 11, further comprising: determining that a title of the first listing of an item for sale does not correspond to a name of the item; correcting the title of the first listing based on the name of the item; determining that a description of the item in the first listing does not match the name of the item and the title of the first listing; detecting that the description of the item in the first listing is uncorrected for at least the predetermined amount of time; and deleting the description of the item in the first listing after expiration of the predetermined amount of time.
 16. The computer-implemented method of claim 11, further comprising: in response to identifying the second portion of the first listing, requesting a correction input; in response to requesting the correction input, detecting that no user input correcting the second portion has been received after at least a predetermined amount of time and detecting that the second portion is uncorrected after at least the predetermined amount of time; and deleting the second portion of the first listing after expiration of the predetermined amount of time.
 17. The computer-implemented method of claim 11, further comprising: in response to identifying the second portion of the first listing, requesting a correction input; in response to requesting the correction input, receiving a user input within the predetermined amount of time; and correcting the second portion of the first listing based on the user input.
 18. The computer-implemented method of claim 11, further comprising: in response to identifying the second portion of the first listing, requesting a correction input; in response to requesting the correction input, receiving a user input after the predetermined amount of time; and deleting the second portion of the first listing after expiration of the predetermined amount of time.
 19. The computer-implemented method of claim 11, wherein the correcting the first portion of the first listing includes using the defective conditions data and a learning module to identify a correct link, correct image, or correct format for repairing the first portion of the listing, wherein the method further comprises: reporting defective conditions of the listings of the items posted on the network-based publication system based on the defective conditions data, wherein the second portion of the first listing is determined based on an inability of the learning module to automatically correct the second portion of the first listing.
 20. A non-transitory machine-readable medium comprising a set of instructions that, when implemented by one more computer processors, cause the one or more computer processors to perform operations for automatically correcting listings of items posted on a network-based publication system, the operations comprising: collecting defective conditions data pertaining to listings of items posted on a network-based publication system, the defective conditions data identifying at least one of a defective link, a defective image, or a defective format included in the listings; identifying a first portion of a first listing of the listings, the first portion defective based on the defective conditions; correcting the first portion of the first listing; identifying a second portion of the first listing, the second portion defective based on the defective conditions; detecting that the second portion is uncorrected after at least a predetermined amount of time; and deleting the uncorrected second portion of the first listing after expiration of the predetermined amount of time. 